home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / ansipas.zip / ATYPE.PAS < prev    next >
Pascal/Delphi Source File  |  1990-08-14  |  2KB  |  67 lines

  1. PROGRAM Atype;
  2.  
  3.    USES
  4.       ANSIIO,
  5.       DOS,
  6.       CRT;
  7.  
  8.    VAR
  9.       F : text;
  10.       S, L : string;
  11.       Ch : char;
  12.       i : integer;
  13.       Rec : searchrec;
  14.  
  15.    FUNCTION PathOnly(p1 : string) : string;
  16.       VAR
  17.          s, p : string;
  18.          i, t : integer;
  19.       BEGIN
  20.          p := p1;
  21.          i := 0;
  22.          REPEAT
  23.             t := i;
  24.             i := pos('\',p);
  25.             IF i > 0 THEN
  26.                p[i] := '|';
  27.          UNTIL i = 0;
  28.          IF t = 0 THEN
  29.             t := pos(':',p);
  30.          p1 := copy(p1,1,t);
  31.          IF length(p1) > 2 THEN
  32.             IF p1[length(p1)] <> '\' THEN
  33.                p1 := p1+'\';
  34.          PathOnly := p1;
  35.       END;
  36.  
  37.    BEGIN
  38.       IF ParamCount < 1 then
  39.          BEGIN
  40.             writeln;
  41.             writeln('Usage : ATYPE file1 file2 file3 ...',
  42.                     '                       (Wildcards are OK)');
  43.             EXIT;
  44.          END;
  45. {$I-} FOR i := 1 to ParamCount DO
  46.          BEGIN
  47.             s := PathOnly(ParamStr(i));
  48.             FindFirst(ParamStr(i),AnyFile,Rec);
  49.             WHILE DosError = 0 do
  50.                BEGIN
  51.                   assign(f,s+Rec.name);
  52.                   reset(f);
  53.                   WHILE (not eof(f)) and (IOResult = 0) do
  54.                      BEGIN
  55.                         readln(f,l);
  56.                         ANSIWriteln(l);
  57.                      END;
  58.                   close(f);
  59.                   While KeyPressed do
  60.                      ch := readkey;
  61.                   Repeat until KeyPressed;
  62.                   FindNext(Rec);
  63.                END;
  64.          END;
  65. {$I+}
  66.    END.
  67.